package db

import "reflect"

// 将任意切片类型的数据展开为空接口的切片
func Spread(s interface{}) []interface{} {
	t := reflect.TypeOf(s)
	if t.Kind() != reflect.Slice {
		panic("要展开的数据类型必须是切片类型")
	}
	v := reflect.ValueOf(s)
	data := make([]interface{}, v.Len())
	for i := 0; i < v.Len(); i++ {
		data[i] = v.Index(i).Interface()
	}
	return data
}
